установка обновлений через MDT при захвате образа
Установить обновления перед захватом эталонного образа очень просто: через Windows Update или WSUS, а потом вручную запускать sysprep, монтировать capture .iso или иной вариант. У меня же была другая задача: в процессе Build and Capture через MDT подключиться к локальному WSUS, который существует в компании, и установить обновления оттуда, т.е. провести установку обновлений в полностью автоматическом режиме.
Во-первых, в процессе скачивания обновлений можно получить ошибку.
BDD.log и ZTIWindowsUpdate.log:
INSTALL — f49a461d-9fa0-484b-9db5-b14e9a3d9bd3 — Security Update for Windows 7 for x64-based Systems (KB2922229) — 1 MB
INSTALL — 9a5132e4-ca62-4f66-bbe2-d920e6252678 — Update for Microsoft PowerPoint 2010 (KB2837579) 32-Bit Edition — 14 MB
INSTALL — 952c45be-a107-4dae-8ccb-b3c91688bcd2 — Cumulative Security Update for Internet Explorer 8 for Windows 7 for x64-based Systems (KB2936068) — 16 MB
Scan complete, ready to install updates. Count = 181
Begin Downloading…
ZTI ERROR — Unhandled error returned by ZTIWindowsUpdate: Object doesn’t support this property or method (438)
Этот баг пришёл в MDT 2013 с MDT 2012 Update 1. Для исправления бага со скачиванием обновлений нужно исправить в файле ZTIWindowsUpdate.wsf строку:
result(» & UpdateResult.GetUpdateResult(item).ResultCode & «) : » & UpdatesToDownload.Item(item).Title, MSIT_LogType
на
result(» & UpdateResult.GetProgress.GetUpdateResult(item).ResultCode & «) : » & UpdatesToDownload.Item(item).Title, MSIT_LogType
Во-вторых, мой WSUS работал через https.
Для настройки обновлений нужно экспортировать корневой сертификат:
Next-Next-задать имя сертификата-Next-Finish.
В свойствах DeploymentShare задаём адрес WSUS вида WSUSServer=http://имя сервера:порт или https, как в моём случае:
В Task Sequence включаем шаги Windows Update (Pre-Application Installation) и Windows Update (Post-Application Installation). Импорт сертификата через командную строку и запуск certutil.exe в процессе установки не получался, поэтому я решил импортировать сертификаты через создание приложения и простейший батник:
certutil.exe -addstore Root \\server\h$\Applications\root.cer
certutil.exe -addstore TrustedPublisher \\server\h$\Applications\root.cer
Соответственно, перед этим я поместил экспортированный сертификат в общую папку. Создание приложения затруднений не вызывает, в качестве строки запуска указываем созданный .bat-файл:
И добавляем установку этого приложения в Task Sequence:
Если же WSUS работает по http, то достаточно просто указать его адрес в свойствах DeploymentShare и активировать два шага в Task Sequence.